home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / huh100.zip / HUH.DOC next >
Text File  |  1990-07-24  |  9KB  |  249 lines

  1.  
  2.  
  3. Huh? 1.00 -- A wacky little RBBS-PC message base packing program.
  4.  
  5. Copyright 1990  by John Morris  All Rights Reserved
  6.  
  7.  
  8. Warranty
  9. --------
  10.  
  11. None.  The program is provided as is.  Huh? was written while listening
  12. to several different Pink Floyd CD's, so I cannot guarantee how the 
  13. program will act/react.  If you have problems with Huh?  feel free to
  14. give me a call. I'll help you out as much as I can.
  15.  
  16.  
  17. Huh?
  18. ----
  19.  
  20.  If there is one thing I hate to do is take down my system at any time,
  21. whether its for maintenance, or mail. Mail, I'm kinda stuck in the time
  22. the system must be down, so I always want my maintenance to run as quickly
  23. and efficiently as possible. One of the most time consuming processes
  24. which occurs each night is the packing of my messages bases, some of which
  25. are 1 meg in size, but most are 200K to 400K in size. Having many bases
  26. that size drastically increases my event time.
  27.  
  28.  Years ago, I found a program which packed a message base extremely fast.
  29. I don't even remember its name now. It never went beyond beta test phase,
  30. so I never found a truly reliable copy of the program. The point was, it
  31. packed a message base in seconds.
  32.  
  33.  This led me to design Huh?. I started Huh? as 'QPack' back in April '90,
  34. but due to some unresolvable problems I encountered, I trashed the 'QPack'
  35. project. It remained on my disk as a reminder though. So in July '90 I
  36. sat down, and reworked the whole program on a few sheets of paper, then I
  37. went and wrote Huh?. Huh? uses a large buffer to load in messages, it then
  38. 'packs' the buffer, and writes out the new data. It repeats this process
  39. until it reaches the endof the file.  Huh? tries to keep the buffer as 
  40. full as possible, so it can write as many bytes as possible at one time.
  41.  
  42.  Huh? runs a bit differently than other message base packing programs. It
  43. uses a 'DEF' file which contains the names of the files to be packed, and
  44. the options to be used on that specific message base.This means Huh? can 
  45. pack several messages bases in one running, not just one base per run. This
  46. saves a bit of time needed to load Huh?. Huh? also has a burst mode, where
  47. it doesn't print anything to the screen while the packing is in progress.
  48. This speeds up the processing several times. Somewhere on the order of
  49. 2 to 5 times depending on the packing method and options.
  50.  
  51.  Huh? is written in 'C'. This results in a VERY fast, LITTLE program. Huh?,
  52. as I write this, is a 14K program, and that's with debugging code in it.
  53. With careful programming, you can read, write, and modify RBBS-PC's message
  54. bases with no problems.
  55.  
  56.  Due to the way Huh? runs, it is MUCH faster when it has to copy messages,
  57. rather than when it has to delete them. So the fewer messages Huh? has to 
  58. delete, the faster it runs. This means it is best to run Huh? often. At
  59. least once a week, but the best time period is once per day. If you don't
  60. run Huh? very often, that is perfectly alright also. Even when it has to
  61. delete a lot of messages, it is still pretty fast.
  62.  
  63. Typically, Huh? will pack a 250k message base in about 10 seconds in burst
  64. mode. This is on a Alloy slave network, using a V20 at 8Mhz. And I've tested
  65. it on a 286 machine from a floppy. 400K in 40 seconds. Your times may vary.
  66.  
  67.  
  68.  
  69. Huh? Command Line Switches
  70. --------------------------
  71.  
  72. Huh? currently has one command line switch. It allows you to specify a
  73. different DEF file to use.  Huh? usually uses the DEF file 'HUH.DEF'
  74. you can specify any name you wish. Do it with the '/C' switch like so:
  75.  
  76. Syntax is:  /Cfilename
  77.  
  78. or,
  79.  
  80. HUH /CC:\RBBS\HUH1.DEF
  81.  
  82. If you don't use the /C switch, Huh? uses the default HUH.DEF file.
  83.  
  84.  
  85. HUH.DEF format
  86. --------------
  87.  
  88. HUH.DEF is a simple text file. Each line contains two different parameters.
  89. like this:
  90.  
  91. drive:\path\filename.ext options
  92.  
  93. The first is the drive, path, filename for your messages base. The second
  94. tells Huh? which options to use on that message base. So a typical line
  95. might look like:
  96.  
  97. C:\RBBS\MESSAGES EPB
  98.  
  99. The options are explained below.
  100.  
  101. You may have several files in HUH.DEF, for instance, if you wished to pack
  102. your main message file, your JOKES conference file, and your RBBS conference
  103. file, you might have a HUH.DEF that looks like this:
  104.  
  105. C:\RBBS\MESSAGES    ED90PB
  106. C:\RBBS\JOKESM.DEF  EDB
  107. C:\RBBS\RBBSM.DEF   B
  108.  
  109. You can also have comments in your HUH.DEF file, simply start the comment
  110. line with a semi-colon ';'
  111.  
  112.  
  113.  
  114.  
  115. Options for packing message bases
  116. ---------------------------------
  117.  
  118. Currently, there are 6 options possible when packing a message base. They
  119. are:
  120.  
  121. B   - Burst mode, which means Huh? won't print anything to the screen while
  122.       packing is in progress.
  123.  
  124. Dxx - Delete msgs older than 'xx' days.  So if you had 'D90' Huh? would 
  125.       delete all messages older than 90 days.
  126.  
  127. E   - Means that this base is an 'elastic' message base. In other words, it
  128.       can GROW, or it can SHRINK, depending on the amount of messages
  129.       contained in the file. Make sure this command matches the RBBS
  130.       Config parameter 'Messages can GROW?'. If you have that RBBS parameter
  131.       set to NO, and tell Huh? to use the 'E' command, Huh? will convert
  132.       the message base to one that can grow, even if RBBS doesn't expect 
  133.       it!  If you don't tell Huh? to use the E command, but it determines
  134.       that this message base 'can GROW' it will switch itself over to the
  135.       'E' command automatically.  So be careful!
  136.  
  137. K   - Kill old message base after packing. If you are NOT using Pack in
  138.       place mode, this command will tell Huh? to delete the old message
  139.       base after it has packed it.
  140.  
  141. P   - Pack in place. This tells Huh? to put the newly packed message base
  142.       'into itself'. It does not create a back-up file of the old message
  143.       base. The 'P' option always turns the 'K' option off.
  144.  
  145. Sxx - This command allows you to tell Huh? not to delete message with a
  146.       security level of 'xx' or higher.  This is similar to the RBBS
  147.       User base packing command 'don't delete users with security level
  148.       xx or above'  The command 'S10' would tell Huh? not to delete 
  149.       messages with a security level of 10 or higher. This is used with
  150.       the 'Dxx' command.  In this way, you can continue to keep older
  151.       messages with high security in your message base.
  152.  
  153. Some examples:
  154.  
  155. Below I will show some example lines of a HUH.DEF file, and explains
  156. what each one does.
  157.  
  158. C:\RBBS\MESSAGES    ED90PB   
  159. C:\RBBS\JOKESM.DEF  E
  160. C:\RBBS\RBBSM.DEF   BK
  161.  
  162. The first line will pack C:\RBBS\MESSAGES. Huh is told that this is an
  163. elastic message base, so it can grow or shrink. It will delete messages 
  164. older than 90 days. It will do the packing into C:\RBBS\MESSAGES, and
  165. finally, it will run in burst mode.
  166.  
  167. The second line works as follows. Huh? will pack C:\RBBS\JOKESM.DEF.
  168. First, it will rename JOKESM.DEF to JOKESM.BAK. Huh? will then copy the
  169. message base into the new JOKESM.DEF file. As it packs the message base
  170. it will display which messages are deleted and which ones aren't (ie:
  171. we aren't using burst mode). Huh? also uses the Elastic option.
  172.  
  173. Last line.  Huh? will pack C:\RBBS\RBBSM.DEF in burst mode. First,
  174. it will rename RBBSM.DEF to RBBSM.BAK. It will the pack RBBSM.BAK into
  175. RBBSM.DEF. When the packing is complete, Huh? will delete RBBSM.BAK.
  176.  
  177.  
  178.  
  179. Problems?
  180.  
  181. You can get hold of me several ways.
  182.  
  183. You can write me a letter.
  184. -------------------------
  185.  
  186. John Morris
  187. 2620 Emily St.
  188. Reno, NV 89503
  189.  
  190. Doesn't matter if its a fan letter, or a hate letter. It'll be good to 
  191. hear from ya.
  192.  
  193. You can call my BBS.
  194. --------------------
  195.  
  196. The Reno RBBS
  197. (702) 746-1364
  198. (702) 746-1365
  199.  
  200. Free access on the first call, and SysOps won't get deleted from my user
  201. base, even when I purge it...
  202.  
  203. You can Net/Echo mail me.
  204. -------------------------
  205.  
  206. RBBS-Net 8:919/1 or 2
  207.  
  208. I currently haunt a few echoes.. mainly RBBS-Net ones though. 
  209. Try RBBS-SYSOP, it'll be your best bet. I don't currently belong to
  210. Fido-Net, and I probably never will. I'm not a fan of ANY type of
  211. bureaucracy and even some folks in the RBBS-Net are starting to 
  212. scare me.
  213.  
  214. Registration
  215. ------------
  216.  
  217. Huh? is distributed as shareware! So share it!
  218.  
  219. If you like and use Huh? often, I suggest that you send in a $20
  220. shareware fee.  This will help ensure future revisions of Huh?.
  221. For $25 I will send a disk with the latest version of Huh? along
  222. with a copy of its 'C' source code.
  223. I have stopped or slowed development of programs way down in the
  224. past due to what I conceived as lack of interest. Your registration
  225. fee helps me realize what kind of interest there is in a program.
  226.  
  227.  
  228. Version History
  229. ---------------
  230.  
  231. 07/24/90 - Huh 1.00 thrust upon the RBBS-PC users of the world.. Gee, I hope
  232.            it works good for everyone else.. <grin>
  233.  
  234.            Upped Buffer size from 32K to 48K -- This speeds up non-burst
  235.            mode by about 40%
  236.  
  237. 07/01/90 - Huh project started.. 32K packing buffer..
  238.  
  239.  
  240. Huh's ZIP file protection
  241. -------------------------
  242.  
  243. Huh? is ZIP using PKZIP's Authenticity Verification feature. This is for
  244. your protection.  If you received a copy of HUH100.ZIP which has been 
  245. modified since I ZIPped it, and you don't want to take the chance, you
  246. can get a clean copy off of my BBS.
  247.  
  248. 
  249.